import java.util.Scanner;
public class A33{
	public static void main(String[] args){
		//创建对象
		StringBuilder sb1 = new StringBuilder();//空参构造
		StringBuilder sb2 = new StringBuilder("abc");//传入参数
		//StringBuilder是java已经写好的类,Java在底层对他做了一些特殊处理,打印对象不是地址值而是属性值
		System.out.println(sb1);//空的
		System.out.println(sb2);//打印:abc
		
		sb1.append(1);
		sb1.append(2.3);
		sb1.append(true);
		System.out.println(sb1);//12.3true
		sb2.append(1);
		sb2.append(2.3);
		sb2.append(true);
		System.out.println(sb2);//abc12.3true
		
		sb1.reverse();//反转字符串
		System.out.println(sb1);//eurt3.21
		
		int len = sb1.length();//求长度
		System.out.println(len);//8
		
		StringBuilder sb3 = new StringBuilder();
		sb3.append("aaa");
		sb3.append("bbb");
		sb3.append("ccc");
		sb3.append("ddd");
		System.out.println(sb3);//aaabbbcccddd
		String str = sb3.toString();//转换成字符类型
		System.out.println(str);//aaabbbcccddd
		
		//链式编程:
		//当我们在调用一个方法的时候,不需要用变量接收他的结果,可以继续调用其他方法
		System.out.println(getString().substring(1).replace("A","Q").length());
		StringBuilder sb4 = new StringBuilder();
		System.out.println(sb4.append("zzz").append("ccc").append("rrr"));//zzzcccrrr
		
		
	}
	public static String getString(){
		Scanner sc = new Scanner(System.in);
		System.out.println("请输入一个字符串");
		String str = sc.next();
		return str;
	}
}